#ifndef __SCNS_QUATERNION_H__
#define __SCNS_QUATERNION_H__

#include "ScnsConfig.h"

#if defined(SCNS_QUATERNION_ENABLE)&&SCNS_QUATERNION_ENABLE==1

#include "ScnsYing.h"

extern uint8 scnsQuaternionIsFinite(float q[4][1]);
extern void scnsQuaternionFromEulerAngle(float pitch,float roll,float yaw,float q[4][1]);
extern void scnsQuaternionToEulerAngle(const float q[4][1],float*pitch,float*roll,float*yaw);
extern void scnsQuaternionRotateVector(const float q[4][1],float vector[3][1],uint8 rev);
extern void scnsQuaternionToDAngle(const float nq[4][1],const float oq[4][1],float dt,float*dPitch,float*dRoll,float*dYaw);

#endif
#endif
